package com.scb.dev.mms.feign;

import com.scb.dev.mms.common.ResponseResult;
import com.scb.dev.mms.dto.BookMeetingDto;
import com.scb.dev.mms.dto.InsertMeetingDto;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * ClassName: MeetingFeign <br/>
 *
 * @author Yuchuan.Dong
 * @version V1.0
 * @Description: ${todo} ADD REASON(可选). <br/><br/>
 * @Date: 2018/12/4 22:42 <br/>
 * @since JDK 1.8
 */
@FeignClient(name = "mms-provider-meeting")
public interface MeetingFeign {
    /**
     * add book meeting
     * @param insertMeetingDto
     * @return
     */
    @RequestMapping(value = "/bm/meeting/meeting",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
    ResponseResult bookMeeting(@RequestBody InsertMeetingDto insertMeetingDto);

    /**
     * select someOne book meeting list
     * @param creatorName
     * @return
     */
    @RequestMapping(value = "/bm/meeting/meeting_list/{creatorName}",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"})
    ResponseResult queryCustomBookMeetingInfo(@PathVariable("creatorName") String creatorName);

    /**
     * select available meeting time map
     * @param bookMeetingDto
     * @return
     */
    @RequestMapping(value = "/bm/meeting/meeting_room/time",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
    ResponseResult queryAvailableMeetingRoomInfo(@RequestBody BookMeetingDto bookMeetingDto);

    /**
     * select all meeting room information
     * @return
     */
    @RequestMapping(value = "/bm/meeting/meeting_room",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"})
    ResponseResult queryAllMeetingRoom();


}
